Refine dependencies on dev-deps
authorAlex Crichton <alex@alexcrichton.com>
Tue, 23 Sep 2014 22:22:14 +0000 (15:22 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Fri, 3 Oct 2014 01:38:15 +0000 (18:38 -0700)
commit1ef09734ed86eaa46df4c382b0fa8451648fdb03
tree6f45260e26ae369c4f357ae397443c8e78aa6c69
parenta2bbb2a323d0d5ebecd0149c2098e91ca7f23a13
Refine dependencies on dev-deps

Currently whenever a dev-dep is brought in to the build process the entire
library is rebuilt, but this is just unnecessary recompilation because the
library *can't* depend on the dev-dep.

This commit refines the dependency graph so the lib stage only depends on
transitive dependencies (non-dev-deps), and a new stage for tests was added
which depends on the packages libraries *and* the dev-deps. This way only the
test are rebuilt when dev-deps change, not libraries.
src/cargo/ops/cargo_rustc/job_queue.rs
src/cargo/ops/cargo_rustc/mod.rs
tests/test_cargo_compile_git_deps.rs
tests/test_cargo_compile_path_deps.rs